Singularity | ||
---|---|---|
![]() | ||
Información general | ||
Tipo de programa | sistema operativo | |
Desarrollador | Microsoft | |
Modelo de desarrollo | Fuente compartida | |
Licencia | Microsoft Research License | |
Estado actual | Bajo desarrollo por Microsoft Research | |
Idiomas | Inglés | |
Información técnica | ||
Programado en | Ensamblador, C, C++ y C# | |
Tipo de núcleo | Micronúcleo | |
Plataformas admitidas | x86 | |
Interfaz gráfica predeterminada | Línea de comandos | |
Versiones | ||
Última versión estable | 2.0 ( 14 de noviembre de 2008) | |
Enlaces | ||
Singularity es un producto de Microsoft Research comenzado en 2003 para desarrollar un sistema operativo en el que el núcleo, dispositivos y aplicaciones estén escritos todos con código gestionado (managed code).
El nivel más bajo de interrupciones está escrito en lenguaje ensamblador y C. Por encima, el núcleo, cuyo entorno de ejecución y recolector de basura están escritos en C#, se ejecuta en modo no seguro.
La capa de abstracción del hardware está escrita en C++ y se ejecuta en modo seguro.
También hay algo de código C para manejar la depuración. La BIOS del ordenador solo se invoca durante la fase de arranque de 16 bits. Una vez se está en modo 32 bits, Singularity nunca vuelve a llamar a la BIOS, aunque sí llama a los controladores de los dispositivos escritos en Sing#, una extensión de Spec#, que a su vez es una extensión de C#. Durante la instalación, los códigos de operación CIL (Common Intermediate Language o Lenguaje intermedio común) se compilan a códigos de operación x86 usando el compilador Bartok.
Singularity 1.0 fue completado en el año 2007. Un paquete de desarrollo e investigación (RDK) para Singularity ha sido publicado con una licencia de fuente compartida que permite el uso no comercial y académico y está disponible en CodePlex. La investigación actual se mueve hacia el desarrollo de Singularity RDK 2.0[1]